@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,500&family=Baloo+Bhaina+2:wght@600&display=swap");

/* ---------- base ---------- */
body { margin: 0; font-family: var(--font-texto); background: var(--fundo); color: var(--texto); -webkit-font-smoothing: antialiased; }
.tn-root { font-family: var(--font-texto); color: var(--texto); }
.tn-root *, .tn-root *::before, .tn-root *::after { box-sizing: border-box; }
.tn-display { font-family: var(--font-display); }
.tn-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tn-foco:focus-visible, .tn-root a:focus-visible, .tn-root button:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
.tn-marcador { display: inline-block; width: 10px; height: 10px; background: var(--assinatura); flex: none; }

/* ---------- BotaoPilula ---------- */
.tn-btn { display: inline-flex; align-items: center; gap: var(--esp-3); min-height: 48px; padding: 6px 6px 6px 22px; border-radius: var(--raio-pilula); border: 1px solid transparent; font: 600 15px/1.2 var(--font-texto); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color var(--dur-micro) var(--curva-saida), color var(--dur-micro) var(--curva-saida), border-color var(--dur-micro) var(--curva-saida); }
.tn-btn--sem-icone { padding: 12px 22px; }
.tn-btn__seta { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: var(--raio-pilula); transition: transform var(--dur-ui) var(--curva-saida); }
.tn-btn__seta svg { width: 16px; height: 16px; transition: transform var(--dur-ui) var(--curva-saida); }
.tn-btn:hover .tn-btn__seta svg { transform: translateX(3px); }
.tn-btn:active { transform: scale(.98); }
.tn-btn--convite { background: var(--convite); color: var(--sobre-convite); }
.tn-btn--convite .tn-btn__seta { background: var(--preto); color: var(--laranja); }
.tn-btn--convite:hover { background: var(--preto); color: var(--convite); }
.tn-btn--convite:hover .tn-btn__seta { background: var(--convite); color: var(--preto); }
.tn-btn--tinta { background: var(--texto); color: var(--fundo); }
.tn-btn--tinta .tn-btn__seta { background: var(--fundo); color: var(--texto); }
.tn-btn--contorno { background: transparent; color: var(--texto); border-color: var(--linha-forte); }
.tn-btn--contorno .tn-btn__seta { background: var(--texto); color: var(--fundo); }
.tn-btn--contorno:hover { background: var(--texto); color: var(--fundo); }
.tn-btn--contorno:hover .tn-btn__seta { background: var(--fundo); color: var(--texto); }

/* ---------- Cabecalho ---------- */
.tn-cab { position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--esp-5); padding: var(--esp-5) var(--margem-lateral); background: transparent; }
.tn-cab--fixo { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 40; }
.tn-cab__marca { font: 900 20px/0.9 var(--font-display); letter-spacing: -0.04em; text-transform: uppercase; color: var(--texto); text-decoration: none; max-width: 16ch; }
.tn-cab__dir { display: flex; align-items: center; gap: var(--esp-4); }
.tn-cab__hora { font: 500 14px/1 var(--font-texto); color: var(--texto); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tn-cab__hora::before { content: "/"; margin-right: var(--esp-2); color: var(--texto-suave); }
.tn-cab__menu { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 16px 0 6px; border-radius: var(--raio-pilula); border: 0; background: var(--preto); color: var(--branco); font: 700 13px/1 var(--font-texto); cursor: pointer; }
.tn-cab__menu i { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: var(--raio-pilula); background: #3a3a38; font-style: normal; }
.tn-cab__menu i svg { width: 12px; height: 12px; transition: transform var(--dur-ui) var(--curva-saida); }
.tn-cab__menu[aria-expanded="true"] i svg { transform: rotate(45deg); }
.tn-cab__painel { position: absolute; right: var(--margem-lateral); top: calc(100% - 8px); min-width: 220px; padding: var(--esp-3) 0; margin: 0; list-style: none; background: var(--preto); border-radius: 16px; box-shadow: var(--sombra-menu); transform-origin: top right; animation: tn-abre var(--dur-ui) var(--curva-saida); }
.tn-cab__painel a { display: block; padding: 10px 20px; color: var(--branco); font: 500 14px/1.3 var(--font-texto); text-decoration: none; }
.tn-cab__painel a:hover { color: var(--teal); }
@keyframes tn-abre { from { opacity: 0; transform: translateY(-6px) scale(.96); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) { .tn-cab__hora { display: none; } }

/* ---------- AbaLateral ---------- */
.tn-aba { position: fixed; right: 0; top: 40%; z-index: 39; display: flex; flex-direction: column; align-items: center; gap: var(--esp-5); width: 44px; padding: var(--esp-4) 0 var(--esp-5); background: var(--preto); color: var(--branco); text-decoration: none; transition: width var(--dur-ui) var(--curva-saida); }
.tn-aba--no-fluxo { position: absolute; }
.tn-aba:hover { width: 52px; }
.tn-aba__sigla { font: 900 18px/1 var(--font-display); letter-spacing: -0.04em; }
.tn-aba__sigla b { color: var(--teal); }
.tn-aba__texto { writing-mode: vertical-rl; transform: rotate(180deg); font: 700 12px/1 var(--font-texto); letter-spacing: .08em; white-space: nowrap; }

/* ---------- RotuloSecao ---------- */
.tn-idx { display: grid; gap: var(--esp-3); padding: 0 var(--margem-lateral); }
.tn-idx__linha1 { display: flex; align-items: center; justify-content: space-between; gap: var(--esp-4); }
.tn-idx__rotulo { display: inline-flex; align-items: center; gap: var(--esp-2); font: 700 12px/1.3 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--texto); }
.tn-idx__num { font: 500 14px/1 var(--font-texto); color: var(--texto); font-variant-numeric: tabular-nums; }
.tn-idx__filete { position: relative; height: 1px; background: var(--linha-forte); transform-origin: left center; }
.tn-idx__filete::after { content: ""; position: absolute; left: 50%; top: -4px; width: 1px; height: 9px; background: var(--linha-forte); }
.tn-idx--entrou .tn-idx__filete { animation: tn-risca var(--dur-abertura) var(--curva-saida) both; }
@keyframes tn-risca { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---------- HeroTitulo ---------- */
.tn-hero { position: relative; padding: var(--esp-6) var(--margem-lateral) var(--esp-9); overflow: hidden; }
.tn-hero__titulo { margin: 0; font-family: var(--font-display); font-weight: 900; text-transform: uppercase; text-align: center; font-size: clamp(56px, 13vw, 180px); line-height: .86; letter-spacing: -0.035em; color: var(--texto); }
.tn-hero__linha { display: block; overflow: hidden; padding-bottom: .04em; }
.tn-hero__linha > span { display: inline-block; }
.tn-hero__linha--destaque { color: var(--assinatura); }
.tn-hero__capa { position: absolute; left: 50%; top: clamp(64px, 11vw, 140px); width: clamp(150px, 24vw, 320px); aspect-ratio: 992 / 1586; max-width: 100%; transform: translateX(-50%); box-shadow: 0 40px 80px rgba(29, 29, 27, .28); }
.tn-hero__capa img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tn-hero__apoio { position: relative; max-width: 300px; margin: var(--esp-7) 0 0; font: 500 18px/1.45 var(--font-texto); color: var(--texto); }
.tn-hero__acoes { position: relative; display: flex; flex-wrap: wrap; gap: var(--esp-2); margin-top: var(--esp-5); }
.tn-hero--anima .tn-hero__linha > span { animation: tn-sobe var(--dur-abertura) var(--curva-saida) both; }
.tn-hero--anima .tn-hero__linha:nth-child(2) > span { animation-delay: calc(var(--atraso-escada) * 1); }
.tn-hero--anima .tn-hero__linha:nth-child(3) > span { animation-delay: calc(var(--atraso-escada) * 2); }
.tn-hero--anima .tn-hero__capa { animation: tn-capa var(--dur-abertura) var(--curva-saida) 320ms both; }
.tn-hero--anima .tn-hero__apoio, .tn-hero--anima .tn-hero__acoes { animation: tn-surge var(--dur-revelar) var(--curva-saida) 700ms both; }
@keyframes tn-sobe { from { transform: translateY(105%); } to { transform: none; } }
@keyframes tn-capa { from { opacity: 0; transform: translate(-50%, 18%) rotate(-4deg) scale(1.06); } to { opacity: 1; transform: translateX(-50%); } }
@keyframes tn-surge { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) { .tn-hero__capa { position: relative; left: auto; top: auto; transform: none; margin: calc(var(--esp-5) * -1) auto 0; } .tn-hero--anima .tn-hero__capa { animation-name: tn-surge; } .tn-hero__apoio { max-width: none; } }

/* ---------- TextoRevelado (foto que cresce + frase em diferença) ---------- */
.tn-exp { position: relative; background: var(--fundo); }
.tn-exp__palco { position: sticky; top: 0; overflow: hidden; display: grid; place-items: center; background: var(--fundo); isolation: isolate; }
.tn-exp__img { position: relative; overflow: hidden; background: var(--preto); will-change: width, height; }
.tn-exp__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.tn-exp__frase { position: absolute; left: var(--margem-lateral); right: var(--margem-lateral); top: 58%; z-index: 2; margin: 0; text-align: center; font: 600 clamp(30px, 4.7vw, 60px)/1.02 var(--font-display); letter-spacing: -0.02em; color: #ffffff; mix-blend-mode: difference; text-wrap: balance; pointer-events: none; }
.tn-exp__depois { display: grid; gap: var(--esp-6); padding: var(--esp-8) 0 var(--esp-9); background: var(--fundo); }
.tn-exp__apoio { margin: 0; padding: 0 var(--margem-lateral); max-width: calc(var(--coluna-texto) + 2 * var(--margem-lateral)); font: 600 16px/1.45 var(--font-texto); color: var(--texto); }
.tn-revela { margin: 0; padding: 0 var(--margem-lateral); max-width: 1100px; margin-left: auto; font-family: var(--font-display); font-weight: 600; font-size: clamp(28px, 4.2vw, 50px); line-height: 1.06; letter-spacing: -0.02em; text-align: right; text-wrap: balance; color: var(--texto); }
.tn-revela--esquerda { margin-left: 0; text-align: left; }

/* ---------- MascaraPalavra (palavra vazada que abre a foto) ---------- */
.tn-masc { position: relative; }
.tn-masc__palco { position: sticky; top: 0; width: 100%; overflow: hidden; background: var(--fundo); }
.tn-masc__img { position: absolute; top: -2px; left: -2px; width: calc(100% + 4px); height: calc(100% + 4px); object-fit: cover; object-position: center; pointer-events: none; }
.tn-masc__veu { position: absolute; inset: 0; pointer-events: none; will-change: transform, opacity; }
.tn-masc__veu svg { display: block; width: 100%; height: 100%; overflow: visible; }
.tn-masc__campo { fill: var(--fundo); }
.tn-masc__campo--escuro { fill: var(--preto); }
.tn-masc__dica--clara span { color: var(--branco); }
.tn-masc__dica--clara i { background: var(--branco); }
.tn-painel--foto .tn-painel__img img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: var(--tn-foco, center 30%); }
.tn-masc__palavra { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; }
.tn-masc__notas { position: absolute; inset: 0; pointer-events: none; }
.tn-masc__nota { position: absolute; opacity: 0; will-change: transform, opacity; backface-visibility: hidden; }
.tn-masc__nota .tn-postit { width: clamp(170px, 15vw, 240px); min-height: clamp(210px, 19vw, 300px); }
.tn-masc__dica { position: absolute; top: 64%; left: 50%; z-index: 3; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; pointer-events: none; }
.tn-masc__dica span { font: 700 10px/1 var(--font-texto); letter-spacing: .2em; text-transform: uppercase; color: var(--texto); }
.tn-masc__dica i { width: 1px; height: 32px; background: var(--texto); animation: tn-pulsa 1.6s ease-in-out infinite; }
@keyframes tn-pulsa { 0% { transform: scaleY(1); opacity: .4; } 50% { transform: scaleY(.3); opacity: 1; } 100% { transform: scaleY(1); opacity: .4; } }
@media (max-width: 768px) { .tn-masc__nota .tn-postit { width: 40vw; min-height: 40vw; padding: var(--esp-4); } .tn-masc__nota .tn-postit__texto { font-size: 13px; } }

/* ---------- PostIt ---------- */
.tn-postit { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: var(--esp-5); width: 200px; min-height: 200px; padding: var(--esp-4) var(--esp-5) var(--esp-5); background: var(--postit); color: var(--preto); border-radius: var(--raio-postit); box-shadow: var(--sombra-postit); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transform: rotate(var(--tn-rot, 0deg)); }
.tn-postit__topo { display: flex; align-items: center; justify-content: space-between; font: 700 11px/1 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--preto); }
.tn-postit__texto { margin: 0; font: 600 17px/1.3 var(--font-display); letter-spacing: -0.01em; }
.tn-postit--laranja .tn-marcador { background: var(--laranja); }
.tn-postit--espera { opacity: 0; transform: translateY(28px) rotate(calc(var(--tn-rot, 0deg) - 7deg)) scale(.94); }
.tn-postit--entrou { animation: tn-cola var(--dur-revelar) var(--curva-mola) both; animation-delay: var(--tn-atraso, 0ms); }
@keyframes tn-cola { from { opacity: 0; transform: translateY(28px) rotate(calc(var(--tn-rot, 0deg) - 7deg)) scale(.94); } to { opacity: 1; transform: rotate(var(--tn-rot, 0deg)); } }
.tn-mural { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--esp-5); padding: var(--esp-8) var(--margem-lateral); justify-items: center; }

/* ---------- CarrosselCapitulos ---------- */
.tn-carr { position: relative; padding: var(--esp-6) var(--margem-lateral) var(--esp-6); }
.tn-carr__palco { position: relative; height: 380px; perspective: 1200px; }
.tn-carr__card { position: absolute; left: 50%; top: 0; width: min(360px, 78%); height: 340px; display: flex; flex-direction: column; gap: var(--esp-3); padding: var(--esp-5); border-radius: var(--raio-card); background: var(--preto); color: var(--branco); transition: transform 620ms var(--curva-entrada-saida), opacity 620ms var(--curva-entrada-saida), filter 620ms var(--curva-entrada-saida); will-change: transform; }
.tn-carr__card[aria-hidden="true"] { filter: saturate(.6) brightness(.8); }
.tn-carr__num { display: inline-flex; align-items: center; gap: var(--esp-2); font: 700 11px/1 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--cinza-fita); }
.tn-carr__titulo { margin: auto 0 0; font: 700 26px/1.12 var(--font-display); letter-spacing: -0.02em; text-wrap: balance; }
.tn-carr__resumo { margin: 0; font: 400 14px/1.5 var(--font-texto); color: var(--cinza-fita); }
.tn-carr__faixa { height: 6px; width: 48px; background: var(--teal); }
.tn-carr__nav { display: flex; align-items: center; justify-content: space-between; margin-top: var(--esp-4); }
.tn-carr__seta { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: var(--raio-pilula); border: 1px solid var(--linha-forte); background: transparent; color: var(--texto); cursor: pointer; transition: background-color var(--dur-micro), color var(--dur-micro); }
.tn-carr__seta:hover { background: var(--texto); color: var(--fundo); }
.tn-carr__seta svg { width: 16px; height: 16px; }
.tn-carr__pontos { display: flex; gap: 6px; }
.tn-carr__ponto { width: 7px; height: 7px; border-radius: 50%; border: 0; padding: 0; background: var(--linha); cursor: pointer; transition: width var(--dur-ui) var(--curva-saida), background-color var(--dur-ui); }
.tn-carr__ponto[aria-current="true"] { width: 22px; border-radius: 4px; background: var(--texto); }

/* ---------- LinhaDado ---------- */
.tn-dados { display: grid; gap: var(--esp-3); padding: 0 var(--margem-lateral); }
.tn-dado { display: grid; grid-template-columns: minmax(120px, auto) 1fr auto; align-items: center; gap: var(--esp-5); padding: 14px 28px; border-radius: var(--raio-pilula); background: var(--preto); color: var(--branco); }
.tn-dado__valor { font: 800 clamp(26px, 3.4vw, 40px)/1 var(--font-display); letter-spacing: -0.03em; color: var(--teal); font-variant-numeric: tabular-nums; }
.tn-dado__rotulo { font: 500 15px/1.35 var(--font-texto); }
.tn-dado__fonte { font: 500 13px/1.3 var(--font-texto); color: var(--cinza-fita); text-align: right; }
.tn-dado--contraste .tn-dado__valor { color: var(--laranja); }
@media (max-width: 600px) { .tn-dado { grid-template-columns: 1fr; gap: 6px; border-radius: var(--raio-card); padding: 18px 22px; } .tn-dado__fonte { text-align: left; } }

/* ---------- PainelPublico ---------- */
.tn-painel { display: grid; grid-template-columns: 1fr 1fr; min-height: 420px; margin: 0 var(--margem-lateral); }
.tn-painel--invertido .tn-painel__texto { order: 2; }
.tn-painel__texto { display: flex; flex-direction: column; justify-content: center; gap: var(--esp-4); padding: var(--esp-8) var(--esp-7); background: var(--papel); color: var(--preto); }
.tn-painel__publico { display: inline-flex; align-items: center; gap: var(--esp-2); font: 700 12px/1.3 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; }
.tn-painel__titulo { margin: 0; font: 700 clamp(30px, 3.6vw, 44px)/1.05 var(--font-display); letter-spacing: -0.025em; text-wrap: balance; }
.tn-painel__corpo { margin: 0; max-width: 44ch; font: 400 16px/1.6 var(--font-texto); }
.tn-painel__texto .tn-btn { align-self: flex-start; margin-top: var(--esp-3); --texto: var(--preto); --fundo: var(--papel); --linha-forte: var(--preto); }
.tn-painel__img { position: relative; overflow: hidden; background: var(--preto); display: grid; place-items: center; }
.tn-painel__img img { position: relative; z-index: 1; display: block; max-width: 70%; max-height: 88%; object-fit: contain; }
.tn-faixa { position: absolute; left: 0; top: 50%; z-index: 0; display: flex; width: max-content; transform: translateY(-50%); animation: tn-corre var(--dur-faixa) linear infinite; }
.tn-faixa span { padding-right: .5em; font: 900 clamp(48px, 7vw, 96px)/1 var(--font-display); letter-spacing: -0.03em; text-transform: uppercase; color: rgba(255, 255, 255, .1); white-space: nowrap; }
@keyframes tn-corre { to { transform: translate(-50%, -50%); } }
@media (max-width: 760px) { .tn-painel { grid-template-columns: 1fr; } .tn-painel--invertido .tn-painel__texto { order: 0; } .tn-painel__img { min-height: 300px; } .tn-painel__texto { padding: var(--esp-7) var(--esp-5); } }

/* ---------- EscalaIA ---------- */
.tn-escala { padding: var(--esp-6) var(--margem-lateral); }
.tn-escala__trilho { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 0; padding: 0; list-style: none; }
.tn-escala__nivel { position: relative; display: grid; gap: var(--esp-2); width: 100%; min-height: 108px; padding: var(--esp-4); border: 1px solid var(--linha); background: var(--fundo); color: var(--texto); text-align: left; cursor: pointer; font: inherit; transition: background-color var(--dur-ui) var(--curva-saida), color var(--dur-ui) var(--curva-saida), border-color var(--dur-ui); }
.tn-escala__nivel:hover { border-color: var(--linha-forte); }
.tn-escala__n { font: 800 32px/1 var(--font-display); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.tn-escala__nome { font: 600 13px/1.3 var(--font-texto); }
.tn-escala__nivel[aria-pressed="true"] { background: var(--preto); color: var(--branco); border-color: var(--preto); }
.tn-escala__nivel[aria-pressed="true"] .tn-escala__n { color: var(--teal); }
.tn-escala__barra { position: absolute; left: 0; bottom: 0; height: 4px; background: var(--teal); width: 0; transition: width var(--dur-revelar) var(--curva-saida); }
.tn-escala__nivel[aria-pressed="true"] .tn-escala__barra, .tn-escala__nivel--antes .tn-escala__barra { width: 100%; }
.tn-escala__detalhe { display: grid; grid-template-columns: 1fr 1fr; gap: var(--esp-6); margin-top: var(--esp-6); animation: tn-surge var(--dur-ui) var(--curva-saida); }
.tn-escala__desc { margin: 0; font: 400 16px/1.6 var(--font-texto); max-width: 56ch; }
.tn-escala__pergunta { margin: 0; font: 600 20px/1.35 var(--font-display); letter-spacing: -0.01em; }
.tn-escala__pergunta small { display: flex; align-items: center; gap: var(--esp-2); margin-bottom: var(--esp-2); font: 700 11px/1 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 760px) { .tn-escala__trilho { grid-template-columns: 1fr; } .tn-escala__nivel { min-height: 0; grid-template-columns: 48px 1fr; align-items: center; } .tn-escala__detalhe { grid-template-columns: 1fr; } }

/* ---------- PergunteVision ---------- */
.tn-vision { display: grid; gap: var(--esp-5); padding: var(--esp-7); background: var(--preto); color: var(--branco); }
.tn-vision__topo { display: flex; align-items: center; justify-content: space-between; gap: var(--esp-4); flex-wrap: wrap; }
.tn-vision__rotulo { display: inline-flex; align-items: center; gap: var(--esp-2); font: 700 12px/1.3 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; }
.tn-vision__abas { display: inline-flex; padding: 4px; border-radius: var(--raio-pilula); background: #333331; }
.tn-vision__aba { height: 34px; padding: 0 16px; border: 0; border-radius: var(--raio-pilula); background: transparent; color: var(--cinza-fita); font: 600 13px/1 var(--font-texto); cursor: pointer; transition: background-color var(--dur-ui) var(--curva-saida), color var(--dur-ui); }
.tn-vision__aba[aria-selected="true"] { background: var(--branco); color: var(--preto); }
.tn-vision__pergunta { margin: 0; max-width: 30ch; font: 600 clamp(22px, 2.6vw, 30px)/1.2 var(--font-display); letter-spacing: -0.015em; text-wrap: balance; }
.tn-vision__prompt { margin: 0; padding-left: var(--esp-5); border-left: 2px solid var(--teal); max-width: 62ch; font: 500 italic 16px/1.6 var(--font-texto); color: #e6e7ec; animation: tn-surge var(--dur-ui) var(--curva-saida); }
.tn-vision__rodape { display: flex; align-items: center; gap: var(--esp-4); flex-wrap: wrap; }
.tn-vision__aviso { font: 500 13px/1.3 var(--font-texto); color: var(--cinza-fita); }
.tn-vision .tn-btn--contorno { --texto: var(--branco); --fundo: var(--preto); --linha-forte: var(--branco); }

/* ---------- SeloGiratorio ---------- */
.tn-selo { position: relative; display: inline-grid; place-items: center; width: var(--tn-selo, 148px); height: var(--tn-selo, 148px); }
.tn-selo svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: tn-gira var(--dur-selo) linear infinite; }
/* O selo continua girando mesmo com "reduzir movimento": um giro contínuo e suave
   (24s por volta) não é do tipo que causa desconforto, e sem ele o carimbo "Com
   escala de avaliação de IA" fica com texto reto sobre um círculo, ilegível como
   selo giratório. Some usuários têm essa preferência ativada só no desktop (comum
   no Windows) mas não no celular — sem esta regra o selo girava só num dos dois. */
.tn-selo svg { animation-duration: var(--dur-selo) !important; animation-iteration-count: infinite !important; }
.tn-selo text { font: 700 11.5px var(--font-texto); letter-spacing: .22em; text-transform: uppercase; fill: currentColor; }
.tn-selo__centro { display: grid; place-items: center; width: 46%; height: 46%; border-radius: 50%; background: var(--convite); color: var(--sobre-convite); font: 900 22px/1 var(--font-display); letter-spacing: -0.03em; }
@keyframes tn-gira { to { transform: rotate(360deg); } }

/* ---------- ChamadaFinal ---------- */
.tn-final { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: var(--esp-6) var(--esp-8); padding: var(--esp-6) var(--margem-lateral) var(--esp-8); }
.tn-final__titulo { margin: 0; font: 900 clamp(52px, 9.5vw, 150px)/.86 var(--font-display); letter-spacing: -0.04em; text-transform: uppercase; }
.tn-final__titulo span { display: block; }
.tn-final__titulo .tn-final__marca { color: var(--assinatura); }
.tn-final__texto { margin: 0 0 var(--esp-3); max-width: 34ch; font: 500 17px/1.5 var(--font-texto); }
.tn-final__acoes { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--esp-2); }
@media (max-width: 760px) { .tn-final { grid-template-columns: 1fr; } }

/* ---------- HeroTitulo: rótulo de topo e subtítulo ---------- */
.tn-hero__topo { margin: 0 0 var(--esp-5); text-align: center; font: 700 12px/1.3 var(--font-texto); letter-spacing: .32em; text-transform: uppercase; color: var(--texto); }
.tn-hero__textos { position: relative; display: grid; gap: var(--esp-3); max-width: 320px; margin-top: var(--esp-7); }
.tn-hero__textos .tn-hero__apoio { margin: 0; font-size: 16px; font-weight: 400; }
.tn-hero__subtitulo { margin: 0; font: 600 20px/1.3 var(--font-display); letter-spacing: -0.01em; color: var(--texto); text-wrap: balance; }
.tn-hero--anima .tn-hero__textos, .tn-hero--anima .tn-hero__topo { animation: tn-surge var(--dur-revelar) var(--curva-saida) 700ms both; }
@media (max-width: 600px) { .tn-hero__textos { max-width: none; } }

/* ---------- PainelPublico: perfis ---------- */
.tn-painel__perfis { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.tn-painel__perfis li { padding: 6px 12px; border: 1px solid currentColor; border-radius: var(--raio-pilula); font: 600 13px/1.2 var(--font-texto); }

/* ---------- GraficoGap ---------- */
.tn-graf { margin: 0; padding: 0 var(--margem-lateral); display: grid; gap: var(--esp-4); }
.tn-graf svg { display: block; width: 100%; height: auto; overflow: visible; }
.tn-graf__legenda { display: flex; flex-wrap: wrap; gap: var(--esp-5); font: 600 14px/1.3 var(--font-texto); color: var(--texto); }
.tn-graf__chave { display: inline-flex; align-items: center; gap: var(--esp-2); }
.tn-graf__chave::before { content: ""; width: 28px; height: 4px; }
.tn-graf__chave--c::before { background: var(--teal); }
.tn-graf__chave--i::before { background: var(--texto); height: 3px; }
.tn-graf__grade { stroke: var(--linha); stroke-width: 1; opacity: .5; }
.tn-graf__eixo { fill: var(--texto-suave); font: 500 14px var(--font-texto); font-variant-numeric: tabular-nums; }
.tn-graf__l { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.tn-graf__l--c { stroke: var(--teal); stroke-width: 5; }
.tn-graf__l--i { stroke: var(--texto); stroke-width: 3.5; }
.tn-graf__m { transition: opacity var(--dur-micro) linear; }
.tn-graf__m--c { fill: var(--teal); }
.tn-graf__m--i { fill: var(--texto); }
.tn-graf__area { fill: var(--teal); fill-opacity: .12; }
.tn-graf__rotulo-gap { fill: var(--assinatura); font: 900 40px var(--font-display); letter-spacing: -0.03em; text-transform: uppercase; }
.tn-graf__fim { font: 800 26px var(--font-display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.tn-graf__fim--c { fill: var(--teal); }
.tn-graf__fim--i { fill: var(--texto); }
.tn-graf__fonte { font: 400 14px/1.5 var(--font-texto); color: var(--texto-suave); max-width: 72ch; }

/* ---------- GradeEntregas ---------- */
.tn-entregas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0 var(--margem-lateral); background: var(--linha); border: 1px solid var(--linha); }
.tn-entrega { display: flex; flex-direction: column; gap: var(--esp-4); min-height: 340px; padding: var(--esp-5); background: var(--fundo); color: var(--texto); transition: background-color var(--dur-ui) var(--curva-saida), color var(--dur-ui) var(--curva-saida); }
.tn-entrega:hover { background: var(--preto); color: var(--branco); }
.tn-entrega__topo { display: flex; align-items: baseline; justify-content: space-between; gap: var(--esp-3); }
.tn-entrega__num { font: 900 64px/0.9 var(--font-display); letter-spacing: -0.04em; color: var(--assinatura); font-variant-numeric: tabular-nums; }
.tn-entrega__cap { font: 700 11px/1.2 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; }
.tn-entrega__titulo { margin: auto 0 0; font: 700 24px/1.15 var(--font-display); letter-spacing: -0.02em; text-wrap: balance; }
.tn-entrega__texto { margin: 0; font: 400 15px/1.55 var(--font-texto); }
.tn-entregas--entrou .tn-entrega { animation: tn-surge var(--dur-revelar) var(--curva-saida) both; animation-delay: calc(var(--i) * var(--atraso-escada)); }
@media (max-width: 900px) { .tn-entregas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tn-entregas { grid-template-columns: 1fr; } .tn-entrega { min-height: 0; } }

/* ---------- ListaDiferenciais ---------- */
.tn-difs { display: grid; gap: var(--esp-3); margin: 0; padding: 0 var(--margem-lateral); list-style: none; }
.tn-dif { display: grid; grid-template-columns: auto minmax(180px, 1fr) 2fr auto; align-items: center; gap: var(--esp-5); padding: 18px 28px; border-radius: var(--raio-pilula); background: var(--preto); color: var(--branco); transition: transform var(--dur-ui) var(--curva-saida); }
.tn-dif:hover { transform: translateX(6px); }
.tn-dif__titulo { font: 700 18px/1.25 var(--font-display); letter-spacing: -0.01em; }
.tn-dif__texto { font: 400 15px/1.45 var(--font-texto); color: #e6e7ec; }
.tn-dif__selo { justify-self: end; padding: 6px 12px; border-radius: var(--raio-pilula); background: var(--teal); color: var(--preto); font: 700 12px/1.2 var(--font-texto); letter-spacing: .04em; white-space: nowrap; }
.tn-difs--entrou .tn-dif { animation: tn-entra-dir var(--dur-revelar) var(--curva-saida) both; animation-delay: calc(var(--i) * var(--atraso-escada)); }
@keyframes tn-entra-dir { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) { .tn-dif { grid-template-columns: auto 1fr; border-radius: var(--raio-card); padding: 20px 22px; } .tn-dif__texto, .tn-dif__selo { grid-column: 2; justify-self: start; } }

/* ---------- AmostraLeitura ---------- */
.tn-amostra { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: var(--esp-8); align-items: start; padding: 0 var(--margem-lateral); }
.tn-amostra__lado { position: sticky; top: var(--esp-8); display: grid; gap: var(--esp-5); justify-items: start; }
.tn-amostra__abas { background: var(--superficie); }
.tn-amostra__abas .tn-vision__aba { color: var(--texto); }
.tn-amostra__abas .tn-vision__aba[aria-selected="true"] { background: var(--texto); color: var(--fundo); }
.tn-amostra__pagina { max-width: 640px; padding: var(--esp-8) var(--esp-7); background: var(--papel); color: var(--preto); box-shadow: 0 30px 60px rgba(29, 29, 27, .12); animation: tn-surge var(--dur-ui) var(--curva-saida); }
.tn-amostra__onde { display: flex; align-items: center; gap: var(--esp-2); margin: 0 0 var(--esp-4); font: 700 11px/1.2 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; }
.tn-amostra__titulo { margin: 0 0 var(--esp-6); font: 700 32px/1.1 var(--font-display); letter-spacing: -0.02em; text-wrap: balance; }
.tn-amostra__par { margin: 0 0 var(--esp-4); font: 400 17px/1.7 var(--font-texto); }
.tn-amostra__par--capitular::first-letter { float: left; margin: 6px 10px 0 0; font: 900 64px/0.8 var(--font-display); color: var(--teal); }
.tn-amostra__nota { margin: var(--esp-6) 0 0; font: 500 13px/1.4 var(--font-texto); color: var(--cinza-azulado); }
.tn-amostra__sumario { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--linha-forte); animation: tn-surge var(--dur-ui) var(--curva-saida); }
.tn-amostra__sumario li { display: grid; grid-template-columns: 140px 1fr; gap: var(--esp-4); padding: 18px 0; border-bottom: 1px solid var(--linha); }
.tn-amostra__num { font: 700 12px/1.6 var(--font-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--texto); }
.tn-amostra__cap { font: 600 22px/1.25 var(--font-display); letter-spacing: -0.015em; }
@media (max-width: 760px) { .tn-amostra { grid-template-columns: 1fr; gap: var(--esp-6); } .tn-amostra__lado { position: static; } .tn-amostra__pagina { padding: var(--esp-6) var(--esp-5); } .tn-amostra__sumario li { grid-template-columns: 1fr; gap: 4px; } }

/* ---------- BlocoAutoria ---------- */
.tn-autoria { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--esp-5); padding: 0 var(--margem-lateral); }
.tn-autoria__autor { display: grid; grid-template-columns: minmax(160px, 240px) 1fr; gap: var(--esp-6); padding: var(--esp-6); background: var(--superficie); }
.tn-autoria__foto { position: relative; aspect-ratio: 4 / 5; max-width: 100%; display: grid; place-items: center; overflow: hidden; background: var(--preto); color: var(--teal); font: 900 72px/1 var(--font-display); letter-spacing: -0.05em; }
.tn-autoria__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tn-autoria__falta { position: absolute; left: 8px; bottom: 8px; padding: 4px 8px; background: var(--laranja); color: var(--preto); font: 700 11px/1 var(--font-texto); letter-spacing: .06em; text-transform: uppercase; }
.tn-autoria__texto { display: grid; gap: var(--esp-3); align-content: start; }
.tn-autoria__nome { margin: 0; font: 700 36px/1.05 var(--font-display); letter-spacing: -0.025em; }
.tn-autoria__papel { margin: 0; font: 600 15px/1.4 var(--font-texto); color: var(--texto-suave); }
.tn-autoria__bio { margin: 0; font: 400 16px/1.6 var(--font-texto); max-width: 56ch; }
.tn-autoria__prefacio { display: grid; gap: var(--esp-5); align-content: space-between; margin: 0; padding: var(--esp-6); background: var(--fundo); color: var(--texto); }
.tn-autoria__citacao { position: relative; margin: 0; padding-top: 40px; font: 600 24px/1.3 var(--font-display); letter-spacing: -0.015em; text-wrap: balance; }
.tn-autoria__citacao::before { content: "“"; position: absolute; top: -12px; left: -4px; font: 900 96px/1 var(--font-display); color: var(--teal); }
.tn-autoria__prefacio figcaption { display: grid; gap: 4px; font: 400 14px/1.4 var(--font-texto); color: var(--texto-suave); }
.tn-autoria__prefacio figcaption strong { font: 700 16px/1.3 var(--font-texto); color: var(--texto); }
.tn-autoria__edicao { grid-column: 1 / -1; display: flex; align-items: center; gap: var(--esp-6); padding: var(--esp-5) 0; border-top: 1px solid var(--linha); }
.tn-autoria__edicao img { width: 180px; height: auto; }
.tn-autoria__edicao p { margin: 0; max-width: 60ch; font: 400 15px/1.55 var(--font-texto); }
@media (max-width: 900px) { .tn-autoria { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .tn-autoria__autor { grid-template-columns: 1fr; } .tn-autoria__edicao { flex-direction: column; align-items: flex-start; } }

/* ---------- Depoimentos ---------- */
.tn-depos { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--esp-5); padding: 0 var(--margem-lateral); }
.tn-depo { display: flex; flex-direction: column; gap: var(--esp-4); margin: 0; padding: var(--esp-6) var(--esp-5); background: var(--superficie); color: var(--texto); }
.tn-depo__nota { margin: 0; color: var(--laranja); font-size: 18px; letter-spacing: .12em; }
.tn-depo__texto { margin: 0; font: 600 19px/1.4 var(--font-display); letter-spacing: -0.01em; }
.tn-depo__quem { display: grid; gap: 2px; margin-top: auto; font: 400 14px/1.4 var(--font-texto); color: var(--texto-suave); }
.tn-depo__quem strong { font-weight: 700; color: var(--texto); }
.tn-depo--esqueleto { min-height: 220px; }
.tn-depo--esqueleto i, .tn-depo--esqueleto b { display: block; height: 14px; border-radius: 2px; background: var(--linha); opacity: .5; }
.tn-depo--esqueleto i:nth-child(2) { width: 88%; } .tn-depo--esqueleto i:nth-child(3) { width: 64%; }
.tn-depo--esqueleto b { width: 40%; margin-top: auto; }
.tn-depos__aviso { grid-column: 1 / -1; margin: 0; padding: 14px 18px; border: 1px dashed var(--linha-forte); font: 500 14px/1.5 var(--font-texto); color: var(--texto); }

/* ---------- PerguntasFrequentes ---------- */
.tn-faq { border-top: 1px solid var(--linha-forte); }
.tn-faq__item { border-bottom: 1px solid var(--linha); }
.tn-faq__q { margin: 0; }
.tn-faq__q button { display: flex; align-items: center; justify-content: space-between; gap: var(--esp-5); width: 100%; padding: 22px 0; border: 0; background: none; color: var(--texto); text-align: left; cursor: pointer; font: 600 20px/1.3 var(--font-display); letter-spacing: -0.01em; }
.tn-faq__q i { display: inline-grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: var(--raio-pilula); border: 1px solid var(--linha-forte); transition: background-color var(--dur-ui), color var(--dur-ui); }
.tn-faq__q i svg { width: 12px; height: 12px; transition: transform var(--dur-ui) var(--curva-saida); }
.tn-faq__item--aberta .tn-faq__q i { background: var(--texto); color: var(--fundo); }
.tn-faq__item--aberta .tn-faq__q i svg { transform: rotate(45deg); }
.tn-faq__r { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--dur-ui) var(--curva-saida); }
.tn-faq__r > div { overflow: hidden; }
.tn-faq__item--aberta .tn-faq__r { grid-template-rows: 1fr; }
.tn-faq__r p { margin: 0; padding: 0 56px 24px 0; max-width: 68ch; font: 400 16px/1.6 var(--font-texto); color: var(--texto); }

/* ---------- Rodape ---------- */
.tn-rodape { display: grid; gap: var(--esp-7); padding: var(--esp-8) var(--margem-lateral) var(--esp-6); background: var(--fundo); color: var(--texto); overflow: hidden; }
.tn-rodape__marca { margin: 0; font: 900 clamp(40px, 8.4vw, 132px)/.86 var(--font-display); letter-spacing: -0.045em; text-transform: uppercase; color: var(--texto); }
.tn-rodape__cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: var(--esp-6); padding-top: var(--esp-6); border-top: 1px solid var(--linha); }
.tn-rodape__col { display: grid; gap: var(--esp-2); align-content: start; }
.tn-rodape__col p { margin: 0; font: 400 15px/1.5 var(--font-texto); }
.tn-rodape__col a { color: var(--texto); text-decoration: none; border-bottom: 1px solid var(--linha); }
.tn-rodape__col a:hover { border-color: var(--teal); }
.tn-rodape__tit { font: 700 12px/1.3 var(--font-texto) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-suave); }
.tn-rodape__logo { width: 190px; height: auto; margin-bottom: var(--esp-3); }
.tn-rodape__num { font-variant-numeric: tabular-nums; }
.tn-rodape__base { display: flex; flex-wrap: wrap; gap: var(--esp-2) var(--esp-6); align-items: baseline; padding-top: var(--esp-5); border-top: 1px solid var(--linha); font: 400 13px/1.5 var(--font-texto); color: var(--texto-suave); }
.tn-rodape__base p { margin: 0; }
.tn-rodape__base a { color: var(--texto); }
.tn-rodape__nota { flex-basis: 100%; }
@media (max-width: 760px) { .tn-rodape__cols { grid-template-columns: 1fr; } }

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
  .tn-root *, .tn-root *::before, .tn-root *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
  .tn-faixa, .tn-masc__dica i { animation: none !important; }
  .tn-postit--espera { opacity: 1; transform: rotate(var(--tn-rot, 0deg)); }
}
